1. Field of Invention
The field of the present invention relates in general to modems and more particularly forward error correction of a convolutional type in digital modems.
2. Description of the Related Art
Digital Subscriber Lines (DSL) technology and improvements thereon including: G.Lite, ADSL, VDSL, HDSL all of which are broadly identified as X-DSL have been developed to increase the effective bandwidth of existing subscriber line connections, without requiring the installation of new fiber optic cable. Subscriber lines were originally constructed to handle voice traffic in the narrow band between 300 Hz to 3000 Hz at bandwidths equivalent to several kilo baud. With X-DSL significant increases in bandwidth have been made possible by utilizing frequencies higher than the voice band to deliver services such as: data, video, audio etc. Thus an X-DSL modem may operate simultaneously with a voice band modem or a telephone conversation.
Currently there are over ten XDSL standards, including: G.Lite, ADSL, VDSL, SDSL, MDSL, RADSL, HDSL, etc. Within each standard there may be more than one line code, or modulation protocol, e.g. discrete multi-tone (DMT) and carrier less AM/PM (CAP). DMT modulation involves establishing a communication channel with a plurality of sub-channels each with a center frequency a.k.a. carrier tone. The sub-channels are frequency division multiplexed across the available bandwidth. Each sub-channel uses quadrature phase amplitude modulation (QPAM) to modulate information. The center frequency, a.k.a. tone of each sub-channel serves as the carrier on which QPAM modulation of information is effected. The information modulated on a tone is identified in the frequency domain as a sub-symbol which defines a unique phase and amplitude relationship between the carrier tone and the information modulated on it. Each sub-symbol may be expressed as a complex number. Specific bits of information are converted to a corresponding complex number using a mapping table, which defines for all possible phase and amplitudes supported by the DMT protocol corresponding binary bits. Collectively all the sub-symbols modulated on each tone across a tone set are defined as a symbol, with the symbol rate defined by the corresponding X-DSL standard.
After initialization the modems enter show time phase of operation in which high speed communication of voice, data and video takes place in the allocated upstream and downstream frequency bands over the subscriber line.
XDSL communications over a wired or wireless communication medium are typically impaired by noise within the transmission bandwidth. Transmit power is typically limited by practical considerations and the transmit signal is attenuated by path loss, multi-path distortions, and various forms of cross-talk. Typically a digital communication system is designed for the worst case signal quality at which the receiver is to operate. This signal quality is measured as an energy to noise ratio and is determined by the transmit power, path loss, noise and interference. The minimum energy at which data communications may be reliably received is the system threshold level. At the threshold level the probability of error for any digital transmission modulation protocol can be calculated. To reduce the error in signal transmission the digital data is encoded before transmission and decoded at the receiver. The coding technique is determined by the requirements of the application and the channel characteristics. Coding allows for detection and correction of errors in the transmitted data at the expense of additional processing overhead and or a lower effective data rate. Two classes of coding, block and convolutional coding are utilized to decrease the probability for error. Reed-Solomon and Viterbi are common forms of block and convolutional coding respectively.
A convolutional encoder encodes each input bit into code bits according to a set of generator polynomials. Each generator polynomial computes one code bit and the code bits are combined into a code branch. The constraint length, a.k.a. the maximul memory order, “m” of the encoder is the number of data bits used in the encoding process and determines the error correcting capability of the code. Long constraint lengths yield better performance at the expense of hardware and computational complexity. A state is designated by the m−1 prior input bits and there are 2m−1 states. A Viterbi algorithm is typically used to decode the transmitted code branches at the receiver. A Viterbi algorithm performs the maximum likelihood decoding of the transmitted data path. For each received code branch, the branch metric of all branches entering each state is computed and added to the corresponding prior path metrics and the best path entering each state is selected and stored as the new path metrics. Each Viterbi decoded bit is obtained by tracing a path back through the various path metrics to find the maximum likelihood path.
FEC techniques and in particular convolution encoding/decoding can be applied across a range of wired and wireless modulation protocols including: discrete multi-tone (DMT), carrierless AM/PM (CAP), quadrature amplitude modulation (QAM), quadrature phase amplitude modulation (QPAM), code division multiple access (CDMA), binary shift keying (BPSK), quaternary phase shift keying (QPSK), etc.
What is needed are computationally efficient methods and apparatus for reducing the complexity and increasing the throughput of convolutional encoders.